const app = getApp()
import BaseModel from '../../utils/common.js'
Page({

  /**
   * 页面的初始数据
   */
  data: {
    color: '#bbb', //选择按钮颜色
    listData:[],//获取到的数据
    countAll:"",//所有员工数量
    page:1,
    size:999, //每页条数
    selectAllStatus: true, // 全选状态，默认不全选
    staffIdAll:[], //选中的员工id存在数组里
    staffNameAll:[], //选中的员工name存在数组里
    footer_more:"",
    empty_title:"",
    empty_img:"",
    empty_again:"",//重试
    is_clickTab:0 //重试或下拉是0，上啦是1
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },
  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    this.getStaffAllData();
  },
  /*全部员工数据*/
  getStaffAllDataModel: new BaseModel({
    url: 'getStaff',
    method: "get",
    needAjaxLoading:true,
    loadingText:"玩命加载中"
  }),
  getStaffAllData(){
    this.getStaffAllDataModel
        .fetch({
          "page": this.data.page,
          "size": this.data.size,
          "notice":1  //公告接收人
        })
        .then(res => {
          if(this.data.is_clickTab==0){
            this.setData({
              listData: res.data,
              countAll:res.count,  //所有员工数量,
              empty_title:"暂无数据",
              empty_img:"http://hwj2018.oss-cn-beijing.aliyuncs.com/hwj2019/icon_new3.0/empty_mes.png",
              empty_again:"",//重试
            })
          }else{
            if(res.data==""||res.data==null){
              this.setData({
                footer_more:"没有更多数据了"
              })
            }else{
              //成功
              var listData_list = this.data.listData;
              for(var i=0;i<res.data.length;i++){
                listData_list.push(res.data[i])
              }
              this.setData({
                listData: listData_list,
                countAll:res.count  //所有员工数量
              })
            }
          }
        })
        .catch(res => {
          //失败
          this.setData({
            empty_title:"请求失败",
            empty_img:"http://hwj2018.oss-cn-beijing.aliyuncs.com/hwj2019/icon/empty_data.png",
            empty_again:"重试",//重试
          })
        })
  },
  /*当前客户选中事件*/
  selectList:function(e){
    let that=this;
    let index = e.currentTarget.dataset.index //当前选中的索引
    let listData = that.data.listData;
    // 默认全选
    // 循环数组数据，判断----选中/未选中[selected]=
    listData[index].selected = !listData[index].selected;
    // 如果数组数据全部为selected[true],全选
    for (var i = listData.length - 1; i >= 0; i--) {
      if (!listData[i].selected) {
        that.data.selectAllStatus =false;
        break;
      }else{
        that.data.selectAllStatus =true;
      }
    }
    // 重新渲染数据
    that.setData({
      listData: listData,
      selectAllStatus: that.data.selectAllStatus
    })
  },
  /*全选事件*/
  selectAll:function(e){
    // 全选ICON默认选中
    let selectAllStatus = this.data.selectAllStatus;
    // true  -----   false
    selectAllStatus = !selectAllStatus;
    // 获取商品数据
    let listData = this.data.listData;
    // 循环遍历判断列表中的数据是否选中
    for (let i = 0; i < listData.length; i++) {
      listData[i].selected = selectAllStatus;
    }
    // 页面重新渲染
    this.setData({
      selectAllStatus: selectAllStatus,
      listData: listData,
    });

  },
  /*点击下一步选择其他员工*/
  click_staff:function(){
    var that = this;
    let listData = that.data.listData;
    // 循环列表得到每个数据
    let staffAll=[];
    let staffNameAll=[];
    for (let i = 0; i < listData.length; i++) {
      // 判断选中计算价格
      if (listData[i].selected) {
        // 所有价格加起来 count_money
        staffAll.push(listData[i].id);
        staffNameAll.push(listData[i].staff_name);
      }
    }
    staffAll=staffAll.toString(); //数组转字符串
    if(staffAll==""){
      wx.showToast({
        title: '还未选择要通知的员工哦',
        icon: 'none',
        duration: 2000
      })
    }else{
      // 最后赋值到data中渲染到页面
      that.setData({
        list: listData,
        staffIdAll: staffAll,
        staffNameAll: staffNameAll,
      });
      var pages = getCurrentPages();
      var prevPage = pages[pages.length - 2];  //上一个页面
      prevPage.setData({
        staffIdAll: that.data.staffIdAll,
        staffNameAll: that.data.staffNameAll,
      })        //给上级页面的变量赋值
      wx.navigateBack({delta: 1})  //返回上级页面
    }
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },
  //重试
  again_request:function(){
    this.setData({
      is_clickTab:0,
      page:1
    })
    this.getStaffAllData();
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    this.setData({
      is_clickTab:0,
      page:1
    })
    this.getStaffAllData();
    wx.stopPullDownRefresh(); //停止下拉
  },
  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    var that = this;
    that.data.page+=1;
    this.setData({
      is_clickTab:1
    })
    this.getStaffAllData();
  },


  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },



})